Corporate approval policies are becoming more and more complex due to stricter guidelines and regulations. For example, when a transaction is created, a requisition document can be created, where the requisition document includes multiple document lines with different commodities. Once the requisition document is created, the requisition document can be submitted for approval, where the approval of the requisition document can be governed by multiple approval policies that are different based on the different commodities of the requisition document. Ultimately, a purchase order can be created once the requisition document has been submitted and approved. However, approval tools used for routing documents within an organization typically do not provide flexibility in modeling complex policies.